\hypertarget{classpg_primitive_triangle}{\section{pg\-Primitive\-Triangle Class Reference}
\label{classpg_primitive_triangle}\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}}
}


{\ttfamily \#include $<$pg\-Primitive\-Triangle.\-h$>$}

Inheritance diagram for pg\-Primitive\-Triangle\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classpg_primitive_triangle}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classpg_primitive_triangle_a3ab97cd18d2e8ff42bf751dadc4e4ae2}{pg\-Primitive\-Triangle} ()
\item 
\hyperlink{classpg_primitive_triangle_ab406b7eb3e4c50f90170a0358dc6913d}{$\sim$pg\-Primitive\-Triangle} ()
\item 
bool \hyperlink{classpg_primitive_triangle_a05115ba29d5f6c99247d6b94bdce5169}{Load} (const char $\ast$sz\-File\-Path)
\begin{DoxyCompactList}\small\item\em Loads a mesh from the specified filepath. \end{DoxyCompactList}\item 
bool \hyperlink{classpg_primitive_triangle_a12dda0b886c4517bcacfe03a9f4d3a1d}{Load} ()
\begin{DoxyCompactList}\small\item\em Used for primitive derived objects. \end{DoxyCompactList}\item 
void \hyperlink{classpg_primitive_triangle_a10d741e8d9c2bafcaa6e119c34fc4606}{Render} ()
\begin{DoxyCompactList}\small\item\em This function needs to take care of rendering the object. \end{DoxyCompactList}\item 
void \hyperlink{classpg_primitive_triangle_a4dfa93d20b8e77718b2db55557660284}{Pre\-Render} ()
\begin{DoxyCompactList}\small\item\em Called immmediately before \hyperlink{classpg_primitive_triangle_a10d741e8d9c2bafcaa6e119c34fc4606}{Render()}. \end{DoxyCompactList}\item 
void \hyperlink{classpg_primitive_triangle_ac5ff42565006a0aaaf5938129b58b17a}{Post\-Render} ()
\begin{DoxyCompactList}\small\item\em Called immediately after \hyperlink{classpg_primitive_triangle_a10d741e8d9c2bafcaa6e119c34fc4606}{Render()}. \end{DoxyCompactList}\item 
X\-M\-M\-A\-T\-R\-I\-X \hyperlink{classpg_primitive_triangle_a059838a96c6f28fbc37395014ad97abd}{Get\-World\-Transform\-Matrix} ()
\item 
void \hyperlink{classpg_primitive_triangle_a604a83ba51db557f8786a2d9ecb897b6}{Set\-World\-Transform\-Matrix} (X\-M\-M\-A\-T\-R\-I\-X mat)
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
I\-D3\-D11\-Buffer $\ast$ \hyperlink{classpg_primitive_triangle_af3c3e3dc4c6f6ae1371b791847ab4b68}{m\-\_\-p\-Vertex\-Buffer}
\item 
I\-D3\-D11\-Buffer $\ast$ \hyperlink{classpg_primitive_triangle_abf99e3062096e4d98b0d4c34a3b89dfb}{m\-\_\-p\-Index\-Buffer}
\item 
I\-D3\-D11\-Buffer $\ast$ \hyperlink{classpg_primitive_triangle_afc0fb3cdfdd8d27d3eae72d7f04a4455}{m\-\_\-p\-Constant\-Buffer}
\item 
X\-M\-M\-A\-T\-R\-I\-X \hyperlink{classpg_primitive_triangle_a296386240838c8efe8ffbd75064cdded}{m\-\_\-world\-Transform\-Matrix}
\item 
int \hyperlink{classpg_primitive_triangle_a000869e52cc44598a9f12e6201ed0cb4}{m\-\_\-n\-Vertex\-Count}
\item 
int \hyperlink{classpg_primitive_triangle_ad40f0ca28c63479028b82b4ce530c3ed}{m\-\_\-n\-Index\-Count}
\end{DoxyCompactItemize}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{classpg_primitive_triangle_a3ab97cd18d2e8ff42bf751dadc4e4ae2}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}}
\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{pg\-Primitive\-Triangle}]{\setlength{\rightskip}{0pt plus 5cm}pg\-Primitive\-Triangle\-::pg\-Primitive\-Triangle (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classpg_primitive_triangle_a3ab97cd18d2e8ff42bf751dadc4e4ae2}
\hypertarget{classpg_primitive_triangle_ab406b7eb3e4c50f90170a0358dc6913d}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!$\sim$pg\-Primitive\-Triangle@{$\sim$pg\-Primitive\-Triangle}}
\index{$\sim$pg\-Primitive\-Triangle@{$\sim$pg\-Primitive\-Triangle}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{$\sim$pg\-Primitive\-Triangle}]{\setlength{\rightskip}{0pt plus 5cm}pg\-Primitive\-Triangle\-::$\sim$pg\-Primitive\-Triangle (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{classpg_primitive_triangle_ab406b7eb3e4c50f90170a0358dc6913d}


\subsection{Member Function Documentation}
\hypertarget{classpg_primitive_triangle_a059838a96c6f28fbc37395014ad97abd}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!Get\-World\-Transform\-Matrix@{Get\-World\-Transform\-Matrix}}
\index{Get\-World\-Transform\-Matrix@{Get\-World\-Transform\-Matrix}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{Get\-World\-Transform\-Matrix}]{\setlength{\rightskip}{0pt plus 5cm}X\-M\-M\-A\-T\-R\-I\-X pg\-Primitive\-Triangle\-::\-Get\-World\-Transform\-Matrix (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classpg_primitive_triangle_a059838a96c6f28fbc37395014ad97abd}


Implements \hyperlink{class_i_renderable_object_a9eb9acb43b22ec1a60b570630afaebf5}{I\-Renderable\-Object}.

\hypertarget{classpg_primitive_triangle_a05115ba29d5f6c99247d6b94bdce5169}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!Load@{Load}}
\index{Load@{Load}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{Load}]{\setlength{\rightskip}{0pt plus 5cm}bool pg\-Primitive\-Triangle\-::\-Load (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{sz\-File\-Path}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classpg_primitive_triangle_a05115ba29d5f6c99247d6b94bdce5169}


Loads a mesh from the specified filepath. 

The format is chosen by the extension 
\begin{DoxyParams}{Parameters}
{\em sz\-File\-Path} & Path to the mesh file \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success 
\end{DoxyReturn}


Implements \hyperlink{class_i_renderable_object_a69fb217e1529b5ae33107d256f20f9e9}{I\-Renderable\-Object}.

\hypertarget{classpg_primitive_triangle_a12dda0b886c4517bcacfe03a9f4d3a1d}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!Load@{Load}}
\index{Load@{Load}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{Load}]{\setlength{\rightskip}{0pt plus 5cm}bool pg\-Primitive\-Triangle\-::\-Load (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classpg_primitive_triangle_a12dda0b886c4517bcacfe03a9f4d3a1d}


Used for primitive derived objects. 



Implements \hyperlink{class_i_renderable_object_a527206d091af2f65837cd7bb83a7ddcb}{I\-Renderable\-Object}.

\hypertarget{classpg_primitive_triangle_ac5ff42565006a0aaaf5938129b58b17a}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!Post\-Render@{Post\-Render}}
\index{Post\-Render@{Post\-Render}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{Post\-Render}]{\setlength{\rightskip}{0pt plus 5cm}void pg\-Primitive\-Triangle\-::\-Post\-Render (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classpg_primitive_triangle_ac5ff42565006a0aaaf5938129b58b17a}


Called immediately after \hyperlink{classpg_primitive_triangle_a10d741e8d9c2bafcaa6e119c34fc4606}{Render()}. 



Implements \hyperlink{class_i_renderable_object_acc15b8342715b37a63cbfe65d1f28301}{I\-Renderable\-Object}.

\hypertarget{classpg_primitive_triangle_a4dfa93d20b8e77718b2db55557660284}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!Pre\-Render@{Pre\-Render}}
\index{Pre\-Render@{Pre\-Render}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{Pre\-Render}]{\setlength{\rightskip}{0pt plus 5cm}void pg\-Primitive\-Triangle\-::\-Pre\-Render (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classpg_primitive_triangle_a4dfa93d20b8e77718b2db55557660284}


Called immmediately before \hyperlink{classpg_primitive_triangle_a10d741e8d9c2bafcaa6e119c34fc4606}{Render()}. 



Implements \hyperlink{class_i_renderable_object_a17f8490e4248b2e86f80c096eb8b5061}{I\-Renderable\-Object}.

\hypertarget{classpg_primitive_triangle_a10d741e8d9c2bafcaa6e119c34fc4606}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!Render@{Render}}
\index{Render@{Render}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{Render}]{\setlength{\rightskip}{0pt plus 5cm}void pg\-Primitive\-Triangle\-::\-Render (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classpg_primitive_triangle_a10d741e8d9c2bafcaa6e119c34fc4606}


This function needs to take care of rendering the object. 

Setting up data relevant to rendering should be performed in \hyperlink{classpg_primitive_triangle_a4dfa93d20b8e77718b2db55557660284}{Pre\-Render()}. 

Implements \hyperlink{class_i_renderable_object_a1137c257fc196fda57f81d9e8a08a40f}{I\-Renderable\-Object}.

\hypertarget{classpg_primitive_triangle_a604a83ba51db557f8786a2d9ecb897b6}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!Set\-World\-Transform\-Matrix@{Set\-World\-Transform\-Matrix}}
\index{Set\-World\-Transform\-Matrix@{Set\-World\-Transform\-Matrix}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{Set\-World\-Transform\-Matrix}]{\setlength{\rightskip}{0pt plus 5cm}void pg\-Primitive\-Triangle\-::\-Set\-World\-Transform\-Matrix (
\begin{DoxyParamCaption}
\item[{X\-M\-M\-A\-T\-R\-I\-X}]{mat}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{classpg_primitive_triangle_a604a83ba51db557f8786a2d9ecb897b6}


Implements \hyperlink{class_i_renderable_object_a001ef1f9df8f5ff46f25b16b5e4f1538}{I\-Renderable\-Object}.



\subsection{Member Data Documentation}
\hypertarget{classpg_primitive_triangle_ad40f0ca28c63479028b82b4ce530c3ed}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!m\-\_\-n\-Index\-Count@{m\-\_\-n\-Index\-Count}}
\index{m\-\_\-n\-Index\-Count@{m\-\_\-n\-Index\-Count}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{m\-\_\-n\-Index\-Count}]{\setlength{\rightskip}{0pt plus 5cm}int pg\-Primitive\-Triangle\-::m\-\_\-n\-Index\-Count\hspace{0.3cm}{\ttfamily [private]}}}\label{classpg_primitive_triangle_ad40f0ca28c63479028b82b4ce530c3ed}
\hypertarget{classpg_primitive_triangle_a000869e52cc44598a9f12e6201ed0cb4}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!m\-\_\-n\-Vertex\-Count@{m\-\_\-n\-Vertex\-Count}}
\index{m\-\_\-n\-Vertex\-Count@{m\-\_\-n\-Vertex\-Count}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{m\-\_\-n\-Vertex\-Count}]{\setlength{\rightskip}{0pt plus 5cm}int pg\-Primitive\-Triangle\-::m\-\_\-n\-Vertex\-Count\hspace{0.3cm}{\ttfamily [private]}}}\label{classpg_primitive_triangle_a000869e52cc44598a9f12e6201ed0cb4}
\hypertarget{classpg_primitive_triangle_afc0fb3cdfdd8d27d3eae72d7f04a4455}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!m\-\_\-p\-Constant\-Buffer@{m\-\_\-p\-Constant\-Buffer}}
\index{m\-\_\-p\-Constant\-Buffer@{m\-\_\-p\-Constant\-Buffer}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{m\-\_\-p\-Constant\-Buffer}]{\setlength{\rightskip}{0pt plus 5cm}I\-D3\-D11\-Buffer$\ast$ pg\-Primitive\-Triangle\-::m\-\_\-p\-Constant\-Buffer\hspace{0.3cm}{\ttfamily [private]}}}\label{classpg_primitive_triangle_afc0fb3cdfdd8d27d3eae72d7f04a4455}
\hypertarget{classpg_primitive_triangle_abf99e3062096e4d98b0d4c34a3b89dfb}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!m\-\_\-p\-Index\-Buffer@{m\-\_\-p\-Index\-Buffer}}
\index{m\-\_\-p\-Index\-Buffer@{m\-\_\-p\-Index\-Buffer}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{m\-\_\-p\-Index\-Buffer}]{\setlength{\rightskip}{0pt plus 5cm}I\-D3\-D11\-Buffer$\ast$ pg\-Primitive\-Triangle\-::m\-\_\-p\-Index\-Buffer\hspace{0.3cm}{\ttfamily [private]}}}\label{classpg_primitive_triangle_abf99e3062096e4d98b0d4c34a3b89dfb}
\hypertarget{classpg_primitive_triangle_af3c3e3dc4c6f6ae1371b791847ab4b68}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!m\-\_\-p\-Vertex\-Buffer@{m\-\_\-p\-Vertex\-Buffer}}
\index{m\-\_\-p\-Vertex\-Buffer@{m\-\_\-p\-Vertex\-Buffer}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{m\-\_\-p\-Vertex\-Buffer}]{\setlength{\rightskip}{0pt plus 5cm}I\-D3\-D11\-Buffer$\ast$ pg\-Primitive\-Triangle\-::m\-\_\-p\-Vertex\-Buffer\hspace{0.3cm}{\ttfamily [private]}}}\label{classpg_primitive_triangle_af3c3e3dc4c6f6ae1371b791847ab4b68}
\hypertarget{classpg_primitive_triangle_a296386240838c8efe8ffbd75064cdded}{\index{pg\-Primitive\-Triangle@{pg\-Primitive\-Triangle}!m\-\_\-world\-Transform\-Matrix@{m\-\_\-world\-Transform\-Matrix}}
\index{m\-\_\-world\-Transform\-Matrix@{m\-\_\-world\-Transform\-Matrix}!pgPrimitiveTriangle@{pg\-Primitive\-Triangle}}
\subsubsection[{m\-\_\-world\-Transform\-Matrix}]{\setlength{\rightskip}{0pt plus 5cm}X\-M\-M\-A\-T\-R\-I\-X pg\-Primitive\-Triangle\-::m\-\_\-world\-Transform\-Matrix\hspace{0.3cm}{\ttfamily [private]}}}\label{classpg_primitive_triangle_a296386240838c8efe8ffbd75064cdded}


The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Inc/\hyperlink{pg_primitive_triangle_8h}{pg\-Primitive\-Triangle.\-h}\item 
Source/\hyperlink{pg_primitive_triangle_8cpp}{pg\-Primitive\-Triangle.\-cpp}\end{DoxyCompactItemize}
